home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / HandHeldPCPro30 / sdk.exe / Jupiter SDK / data1.cab / MFC_Samples / cmnctrls / progctrl.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1999-02-19  |  2.9 KB  |  129 lines

  1. // ProgCtrl.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "ctrldemo.h"
  6. #include "ProgCtrl.h"
  7.  
  8. #ifdef _DEBUG
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CProgCtrlPage property page
  15.  
  16. IMPLEMENT_DYNCREATE(CProgCtrlPage, CPropertyPage)
  17.  
  18. #ifdef _DEBUG
  19. #define new DEBUG_NEW
  20. #endif
  21.  
  22. CProgCtrlPage::CProgCtrlPage() : CPropertyPage(CProgCtrlPage::IDD)
  23. {
  24.     //{{AFX_DATA_INIT(CProgCtrlPage)
  25.     m_uiStep = 10;
  26.     m_uiRangeFrom = 0;
  27.     m_uiPos = 0;
  28.     m_uiRangeTo = 100;
  29.     //}}AFX_DATA_INIT
  30. }
  31.  
  32. CProgCtrlPage::~CProgCtrlPage()
  33. {
  34. }
  35.  
  36. void CProgCtrlPage::DoDataExchange(CDataExchange* pDX)
  37. {
  38.     CPropertyPage::DoDataExchange(pDX);
  39.     //{{AFX_DATA_MAP(CProgCtrlPage)
  40.     DDX_Control(pDX, IDC_PROGRESS, m_Progress);
  41.     DDX_Text(pDX, IDC_PROGRESS_STEP, m_uiStep);
  42.     DDV_MinMaxUInt(pDX, m_uiStep, 0, 65535);
  43.     DDX_Text(pDX, IDC_PROGRESS_FROM, m_uiRangeFrom);
  44.     DDV_MinMaxUInt(pDX, m_uiRangeFrom, 0, 65535);
  45.     DDX_Text(pDX, IDC_PROGRESS_TO, m_uiRangeTo);
  46.     DDV_MinMaxUInt(pDX, m_uiRangeTo, 0, 65535);
  47.     DDX_Text(pDX, IDC_PROGRESS_POS, m_uiPos);
  48.     DDV_MinMaxUInt(pDX, m_uiPos, 0, 65535);
  49.     //}}AFX_DATA_MAP
  50. }
  51.  
  52. BOOL CProgCtrlPage::OnInitDialog()
  53. {
  54.     CPropertyPage::OnInitDialog();
  55.     m_Progress.SetRange( m_uiRangeFrom, m_uiRangeTo );
  56.     m_Progress.SetPos( m_uiPos );
  57.     return TRUE;
  58. }
  59.  
  60. BEGIN_MESSAGE_MAP(CProgCtrlPage, CPropertyPage)
  61.     //{{AFX_MSG_MAP(CProgCtrlPage)
  62.     ON_BN_CLICKED(IDC_PROGRESS_STEPIT, OnProgressStepit)
  63.     ON_EN_KILLFOCUS(IDC_PROGRESS_FROM, OnFrom)
  64.     ON_EN_KILLFOCUS(IDC_PROGRESS_TO, OnTo)
  65.     ON_EN_KILLFOCUS(IDC_PROGRESS_STEP, OnStep)
  66.     ON_BN_CLICKED(IDC_SETPOS, OnSetpos)
  67.     //}}AFX_MSG_MAP
  68. END_MESSAGE_MAP()
  69.  
  70. /////////////////////////////////////////////////////////////////////////////
  71. // CProgCtrlPage message handlers
  72.  
  73. void CProgCtrlPage::OnProgressStepit() 
  74. {
  75.     UINT uPrev = m_Progress.StepIt();
  76. #if (_WIN32_WCE >= 201)
  77.     m_uiPos = m_Progress.GetPos();
  78.     UpdateData(FALSE);
  79. #endif // _WIN32_WCE >= 201
  80. }
  81.  
  82. void CProgCtrlPage::OnFrom() 
  83. {
  84.     UpdateData();
  85.     if (m_uiRangeFrom > m_uiRangeTo) {
  86.         SWAP(m_uiRangeFrom, m_uiRangeTo);
  87.         UpdateData(FALSE);
  88.     }
  89.     m_Progress.SetRange( m_uiRangeFrom, m_uiRangeTo );
  90.     
  91.     if (m_uiPos < m_uiRangeFrom) 
  92.     {
  93.         m_uiPos = m_uiRangeFrom;
  94.         UpdateData(FALSE);
  95.     }
  96. }
  97.  
  98. void CProgCtrlPage::OnTo() 
  99. {
  100.     UpdateData();
  101.     if (m_uiRangeFrom > m_uiRangeTo) {
  102.         SWAP(m_uiRangeFrom, m_uiRangeTo);
  103.         UpdateData(FALSE);
  104.     }
  105.     m_Progress.SetRange( m_uiRangeFrom, m_uiRangeTo );
  106.  
  107.     if (m_uiPos > m_uiRangeTo) 
  108.     {
  109.         m_uiPos = m_uiRangeTo;
  110.         UpdateData(FALSE);
  111.     }
  112. }
  113.  
  114. void CProgCtrlPage::OnStep() 
  115. {
  116.     UpdateData();
  117.     m_Progress.SetStep( m_uiStep );
  118. }
  119.  
  120. void CProgCtrlPage::OnSetpos() 
  121. {
  122.     UpdateData();
  123.     if (m_uiPos < m_uiRangeFrom || m_uiPos > m_uiRangeTo) {
  124.         m_uiPos = m_uiRangeFrom;
  125.         UpdateData(FALSE);
  126.     }
  127.     m_Progress.SetPos( m_uiPos );
  128. }
  129.